Free-form language

In computer programming, a free-form language is a programming language in which the positioning of characters on the page in program text is not significant. Program text does not need to be placed in specific columns as on old punched card systems, and frequently ends of lines are not significant. Whitespace is used to delimit tokens, and does not have other significance.

Most free-form languages descend from Algol, including C, Pascal, and Perl. Lisp languages are also free-form, although they do not descend from Algol. REXX is mostly free-form, though in some cases whitespace is a concatenation operator. SQL, though not a full-fledged programming language, is also free-form.

Most free-form languages are also structured programming languages, which is sometimes thought to go along with the free-form syntax: Earlier imperative programming languages such as Fortran 77 used particular columns for line numbers, which many structured languages don't use or need. However, there exist structured languages which are not free-form, such as Python, in which the indentation level of each line is important.

See also